@echo off

echo -　All VoiceSound Batch for MPC 1.0　-
echo.
echo MPC向けにボイスサウンドを好みに合わせて作成します
echo.

for /f "tokens=2 delims==" %%B in ('findstr /i "ダイレクトコピーを許可" "オプション設定.ini"') do set ADC=%%B
for /f "tokens=2 delims==" %%B in ('findstr /i "コピー先" "オプション設定.ini"') do set DCP=%%B

echo -　オプション設定　-
if "%ADC%"=="1" echo Oblivionインストールフォルダへの直接コピー： ON & echo コピー先： %DCP%\ & goto optioncheck
if "%ADC%"=="0" echo Oblivionインストールフォルダへの直接コピー： OFF & goto optioncheck
echo 設定が不明です。オプション設定.iniの"ダイレクトコピーを許可="の項目には、
echo 数字の0か1のどちらかのみ1文字を書き込んで下さい。スペース（空白）も入れないで下さい。
echo Oblivionインストールフォルダへの直接コピー： OFF
:optioncheck
echo.
echo.

rem -----　フェーズ1　---------------------------------------------------------

echo ----------　どの性別で使用しますか？　-----------------
echo [0] : 男　　　[1] : 女
echo 使用する性別の番号を選択しEnterを押してください[0-1]
echo -------------------------------------------------------
set /p menu0=">"
echo.
if "%menu0%"=="0" (set SEX=Male) & (set SEXPATH=M) & goto sexskip1
if "%menu0%"=="1" (set SEX=Female) & (set SEXPATH=F) & goto sexskip1
goto error
:sexskip1

echo ----------　どの種族で使用しますか？　-----------------
echo [0] : Ainmhi系　　　[1] : Argonian系　　[2] : Dremora系
echo [3] : High elf系　　[4] : Imperial系　　[5] : Nord系
if "%SEX%" == "Male" goto raceskip1
echo [6] : Redguard系
echo 使用する種族の番号を選択しEnterを押してください[0-6]
goto raceskip2
:raceskip1
echo [6] : Redguard系　　[7] : Breton系
echo 使用する種族の番号を選択しEnterを押してください[0-7]
:raceskip2
echo -------------------------------------------------------
set /p menu1=">"
echo.
if "%menu1%"=="0" (set RACE=Ainmhi) & goto raceskip3
if "%menu1%"=="1" (set RACE=Argonian) & goto raceskip3
if "%menu1%"=="2" (set RACE=Dremora) & goto raceskip3
if "%menu1%"=="3" (set RACE=High elf) & goto raceskip3
if "%menu1%"=="4" (set RACE=Imperial) & goto raceskip3
if "%menu1%"=="5" (set RACE=Nord) & goto raceskip3
if "%menu1%"=="6" (set RACE=Redguard) & goto raceskip3
if "%menu1%"=="7" if "%SEX%" =="Male" (set RACE=Breton) & goto raceskip3
goto error
:raceskip3

echo ----------　どんな声質で使いますか？　-----------------
if "%SEX%" =="Male" goto voiceskip1
echo [0] : Argonian系　　[1] : Dremora系(男声) [2] : High elf系
echo [3] : Imperial系　　[4] : Nord系　　　　　[5] : Redguard系
echo [6] : カスタム
echo 使用する声タイプの番号を選択しEnterを押してください[0-6]
goto voiceskip2
:voiceskip1
echo [0] : Argonian系　　[1] : Breton系　　　[2] : Dremora系
echo [3] : High elf系　　[4] : Imperial系　　[5] : Nord系
echo [6] : Redguard系　　[7] : カスタム
echo 使用する声タイプの番号を選択しEnterを押してください[0-7]
:voiceskip2
echo -------------------------------------------------------
set /p menu2=">"
echo.
if "%SEX%" =="Male" goto voiceskip3
if "%menu2%"=="0" (set VOICE=Argonian) & goto voiceskip4
if "%menu2%"=="1" (set VOICE=Dremora) & goto voiceskip4
if "%menu2%"=="2" (set VOICE=High elf) & goto voiceskip4
if "%menu2%"=="3" (set VOICE=Imperial) & goto voiceskip4
if "%menu2%"=="4" (set VOICE=Nord) & goto voiceskip4
if "%menu2%"=="5" (set VOICE=Redguard) & goto voiceskip4
if "%menu2%"=="6" (set VOICE=Custom) & goto voiceskip4
goto error
:voiceskip3
if "%menu2%"=="0" (set VOICE=Argonian) & goto voiceskip4
if "%menu2%"=="1" (set VOICE=Breton) & goto voiceskip4
if "%menu2%"=="2" (set VOICE=Dremora) & goto voiceskip4
if "%menu2%"=="3" (set VOICE=High elf) & goto voiceskip4
if "%menu2%"=="4" (set VOICE=Imperial) & goto voiceskip4
if "%menu2%"=="5" (set VOICE=Nord) & goto voiceskip4
if "%menu2%"=="6" (set VOICE=Redguard) & goto voiceskip4
if "%menu2%"=="7" (set VOICE=Custom) & goto voiceskip4
goto error
:voiceskip4

echo ----------　どの性格で使いますか？　----------------------
echo [0] : 性格0	[1] : 性格1	[2] : 性格2
echo [3] : 性格3	[4] : 性格4	[5] : 性格5
echo [6] : 性格6	[7] : 性格7	[8] : 性格8
echo 使用する性格タイプの番号を選択しEnterを押してください[0-8]
echo ----------------------------------------------------------
set /p menu3=">"
echo.
if "%menu3%"=="0" (set PERSONAL=性格0) & goto charskip1
if "%menu3%"=="1" (set PERSONAL=性格1) & goto charskip1
if "%menu3%"=="2" (set PERSONAL=性格2) & goto charskip1
if "%menu3%"=="3" (set PERSONAL=性格3) & goto charskip1
if "%menu3%"=="4" (set PERSONAL=性格4) & goto charskip1
if "%menu3%"=="5" (set PERSONAL=性格5) & goto charskip1
if "%menu3%"=="6" (set PERSONAL=性格6) & goto charskip1
if "%menu3%"=="7" (set PERSONAL=性格7) & goto charskip1
if "%menu3%"=="8" (set PERSONAL=性格8) & goto charskip1
goto error
:charskip1

echo ---------- これでよろしいですか？ ----------------------------------
echo.
echo [性別]: %SEX%　[種族]: %RACE%　[声質]: %VOICE%　[性格タイプ]: %PERSONAL%
echo.
if "%ADC%"=="1" (echo 上記の設定で%DCP%\Sound\Voice\mpc.esm\の下にファイルを作成します。) else echo 上記の設定でvoicedataフォルダの下にファイルを作成します。
echo よろしければYを入力してEnterを押してください。
echo [Y] : YES　　[N] : NO　　[Y/N]
echo --------------------------------------------------------------------
set /p menu4=">"

if /i "%menu4%" == "Y" goto zokkou
if /i "%menu4%" == "N" goto end
goto error
:zokkou

echo.
echo 音声ファイルをコピーしています. . .

rem ----　Dremora男声を女に適用 ADC=1　----
if "%SEX%" =="Male" goto makefolder1
if not "%VOICE%" == "Dremora" goto makefolder1
if not "%ADC%"=="1" goto makefolder3
xcopy "source_voice\Dremora\M" "voicedata\%SEXPATH%" /i /y
cd "voicedata\%SEXPATH%"
goto makefolder2
:makefolder3

rem ----　Dremora男声を女に適用 ADC=0　----
xcopy "source_voice\Dremora\M" "voicedata\%RACE%\%SEXPATH%" /i /y
cd "voicedata\%RACE%\%SEXPATH%"
goto makefolder2
:makefolder1

rem ----　それ以外の声ソースをコピー ADC=1　----
if not "%ADC%"=="1" goto makefolder4
xcopy "source_voice\%VOICE%\%SEXPATH%" "voicedata\%SEXPATH%" /i /y
cd "voicedata\%SEXPATH%"
goto makefolder2
:makefolder4

rem ----　それ以外の声ソースをコピー ADC=0　----
xcopy "source_voice\%VOICE%\%SEXPATH%" "voicedata\%RACE%\%SEXPATH%" /i /y
cd "voicedata\%RACE%\%SEXPATH%"
:makefolder2

rem -----　フェーズ2　---------------------------------------------------------

rem FNはFileNumber
rem FN1が1001等、FN2が性格、FN3で合わせて1001_F0等
rem VNはVoiceName

set FN1=1001
set FN2=%menu3%
set FN3=_%SEXPATH%%FN2%

echo.
echo コピーしたファイルを性格に合わせてリネームしています. . .
:loop1

rem -----　全種共通ファイルは例外処理
if not "%FN1%" == "1009" goto reigai
if exist "zzMPCQuest_GREETING_0004CFF1_1.mp3" del "zzMPCQuest_GREETING_0004CFF1_1.mp3"
if exist "zzMPCQuest_GREETING_0004CFF1_1.lip" del "zzMPCQuest_GREETING_0004CFF1_1.lip"
if exist "1009.*" ren "1009.mp3" "zzMPCQuest_GREETING_0004CFF1_1.mp3" & ren "1009.lip" "zzMPCQuest_GREETING_0004CFF1_1.lip"
goto reigaiskip
:reigai

if not "%FN1%" == "1053" goto reigai2
if exist "zzMPCQuest_GOODBYE_000CB200_1.mp3" del "zzMPCQuest_GOODBYE_000CB200_1.mp3"
if exist "zzMPCQuest_GOODBYE_000CB200_1.lip" del "zzMPCQuest_GOODBYE_000CB200_1.lip"
if exist "1053.*" ren "1053.mp3" "zzMPCQuest_GOODBYE_000CB200_1.mp3" & ren "1053.lip" "zzMPCQuest_GOODBYE_000CB200_1.lip"
goto reigaiskip
:reigai2

rem -----　ファイル名取得
if not "%ADC%"=="1" goto fnfind1
for /f "delims=" %%A in ('findstr /i "%FN1%%FN3%" "..\..\mpc_voicefilename.txt"') do set VN=%%A
goto fnfind2
:fnfind1
for /f "delims=" %%A in ('findstr /i "%FN1%%FN3%" "..\..\..\mpc_voicefilename.txt"') do set VN=%%A
:fnfind2
set VN=%VN:~8%

rem ファイル名表示
echo %VN%

rem -----　ファイル重複確認
if not exist "%FN1%.*" goto reigai3
if exist "%VN%.mp3" del "%VN%.mp3"
if exist "%VN%.lip" del "%VN%.lip"
:reigai3

rem -----　リネーム処理
if exist "%FN1%.*" ren "%FN1%.mp3" "%VN%.mp3" & ren "%FN1%.lip" "%VN%.lip" 
:reigaiskip

if "%FN1%"=="1107" goto loopend1
set /a FN1=FN1+1
goto loop1
:loopend1

rem -----　Obliインストフォルダにコピー
if not "%ADC%"=="1" goto endmove1
echo.
echo オプション設定.iniで指定したフォルダにファイルを移動しています. . .
cd ..
xcopy "%SEXPATH%" "%DCP%\Sound\Voice\mpc.esm\%RACE%\%SEXPATH%" /i /y /q
del "%SEXPATH%" /q
rmdir "%SEXPATH%" /q

echo.
echo 音声ファイルをリネーム処理し、
echo %DCP%\Sound\Voice\mpc.esm\%RACE%\%SEXPATH%にコピーしました。
pause
exit /b

:endmove1
set kakunin1="voicedata\%RACE%\%SEXPATH%"
echo.
echo %kakunin1% に音声ファイルをコピーしました。
echo リネーム処理が完了しました。
pause
exit /b

:error
echo 指定されたキーを正しく入力したか、確認して下さい。

:end
echo 処理がキャンセルされました。
pause
exit /b

